#ifndef BROWSER_H
#define BROWSER_H

#include <QObject>
#include <QWebEngineProfile>
#include "loginpasswordinterceptor.h"
#include "urldetectinterceptor.h"
#include "downloadwindow.h"
#include "passwordmanagerwindow.h"
#include "favoritemanagerwindow.h"
#include "pluginmanagerwindow.h"

class BrowserMainWindow;

class Browser
{
public:
    Browser();

    QVector<BrowserMainWindow*> windows();

    BrowserMainWindow *createWindow(bool offTheRecord = false);

    static QUrl defaultUrl;

private:
    // 浏览器配置，用于安全配置或者无痕浏览这些
    QWebEngineProfile * m_customProfile;

    // 开启的浏览器窗口列表
    QVector<BrowserMainWindow *> m_windows;
    // 下载管理器
    DownloadWindow * downloadWindow;
    // 二级菜单
//    SecondMenu & secondMenu(){return m_secondMenu;};
    // 历史记录管理器
//    HistoryWidget &historyWidget(){return m_historyWidget;}
    // 密码管理器
    PasswordManagerWindow *passwordManagerWindow;

    // 收藏夹管理器
    FavoriteManagerWindow *favoriteManagerWindow;

    // 网页恶意检测模块(由专门的检测服务器实现,不在客户端实现，浏览器客户端只使用服务)

    // 插件管理器
    PluginManagerWindow *pluginMangerWindow;

    // 历史记录管理器

};

#endif // BROWSER_H
